#ifndef STORE_HH
#define STORE_HH

#include <vector>
#include "Item.hh"
#include "Character.hh"
/*This header file defines a Store class, representing a shop in a game where players can purchase items. Key features include:

Constructors and Destructor:
Store(): Default constructor to initialize the store.
~Store(): Destructor to handle cleanup if necessary (implementation details not shown).
Item Management:
displayItems() const: Displays the items available for sale in the store.
buyItem(Character& player, int index): Allows a player to purchase an item from the store by specifying its index. Returns true if the purchase is successful.
Accessors:
getItemsForSale(): Provides a reference to the vector containing items currently for sale in the store, allowing modification if needed.
Private Members:
itemsForSale: A vector of pointers to Item objects, representing the items available in the store.
This class enables the management of a shop within a game, allowing players to view and purchase items, facilitating gameplay mechanics related to inventory and economy.*/
class Store {
public:
    Store();
    ~Store();
    void displayItems() const;
    bool buyItem(Character& player, int index);
    std::vector<Item*>& getItemsForSale();

private:
    std::vector<Item*> itemsForSale;
};

#endif 